// 引用 crypto-js 加密模块
import CryptoJS from 'crypto-js'

/**
 * 加密
 */
function tripleAesEncrypt(text) {
	var key = CryptoJS.enc.Utf8.parse(aesKey),
		iv = CryptoJS.enc.Utf8.parse(aesIv),
		srcs = CryptoJS.enc.Utf8.parse(text),
		// CBC 加密方式，Pkcs7 填充方式
		encrypted = CryptoJS.AES.encrypt(srcs, key, {
			iv: iv,
			mode: CryptoJS.mode.CBC,
			padding: CryptoJS.pad.Pkcs7
		});
	return encrypted.toString();
}

/**
 * 解密
 */
function tripleAesDecrypt(text) {
	var key = CryptoJS.enc.Utf8.parse(aesKey),
		iv = CryptoJS.enc.Utf8.parse(aesIv),
		srcs = encryptedData,
		// CBC 加密方式，Pkcs7 填充方式
		decrypted = CryptoJS.AES.decrypt(srcs, key, {
			iv: iv,
			mode: CryptoJS.mode.CBC,
			padding: CryptoJS.pad.Pkcs7
		});
	return decrypted.toString(CryptoJS.enc.Utf8);
}

// var text = "1727335326" // 待加密对象
var aesKey = "1234567890123456" // 密钥，16 倍数
var aesIv = "1234567890123456" // 偏移量，16 倍数


// var encryptedData = tripleAesEncrypt(text)
// var decryptedData = tripleAesDecrypt()

// console.log("加密字符串: ", encryptedData)
// console.log("解密字符串: ", decryptedData)
// 加密后: k7+Z6HmiT5u/RhopfPvgIg==
// 加密前: 1727335326

export {
	tripleAesEncrypt,
	tripleAesDecrypt
}